package com.ruoyi.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 预存款信息对象 zhwy_advancedeposit
 * 
 * @author liuzhiqiang
 * @date 2024-05-07
 */
public class ZhwyAdvancedeposit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键，自增 */
    private Long id;

    /** 商铺id，外键 */
    @Excel(name = "商铺id，外键")
    private Long shopsId;
    private String Shopname;

    /** 可用收费项【数据字典 -- 指定收费项 所有收费项】 */
    @Excel(name = "可用收费项【数据字典 -- 指定收费项 所有收费项】")
    private Long type;

    /** 收费项目id，外键 */
    @Excel(name = "收费项目id，外键")
    private Long chargeitemId;
    private String chargeitemName;
    /** 收费金额 */
    @Excel(name = "收费金额")
    private BigDecimal amt;
    /** 批量添加收费金额 */
    private BigDecimal[] amts;

    public BigDecimal[] getAmts() {
        return amts;
    }

    public void setAmts(BigDecimal[] amts) {
        this.amts = amts;
    }

    /** 付款方式id,关联支付方式表 */
    @Excel(name = "付款方式id,关联支付方式表")
    private Long payId;
    private String payName;
    /** 收款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 收款人姓名 */
    @Excel(name = "收款人姓名")
    private String chargeUser;

    /** 收款单号【uuid随机产生】 */
    @Excel(name = "收款单号【uuid随机产生】")
    private String payNo;

    /** 付款类型 */
    @Excel(name = "付款类型")
    private String payType;

    /** 状态【数据字典 -- 预存 退还 支付】 */
    @Excel(name = "状态【数据字典 -- 预存 退还 支付】")
    private Long state;

    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal balance;

    /** 退款人姓名 */
    @Excel(name = "退款人姓名")
    private String refundUser;
    public String getShopname() {
        return Shopname;
    }

    public void setShopname(String shopname) {
        Shopname = shopname;
    }

    public String getChargeitemName() {
        return chargeitemName;
    }

    public void setChargeitemName(String chargeitemName) {
        this.chargeitemName = chargeitemName;
    }

    public String getPayName() {
        return payName;
    }

    public void setPayName(String payName) {
        this.payName = payName;
    }

    public String getRefundName() {
        return refundName;
    }

    public void setRefundName(String refundName) {
        this.refundName = refundName;
    }

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundTime;

    /** 退款方式id,关联支付方式表 */
    @Excel(name = "退款方式id,关联支付方式表")
    private Long refundId;
    private String refundName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setShopsId(Long shopsId) 
    {
        this.shopsId = shopsId;
    }

    public Long getShopsId() 
    {
        return shopsId;
    }
    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }
    public void setChargeitemId(Long chargeitemId) 
    {
        this.chargeitemId = chargeitemId;
    }

    public Long getChargeitemId() 
    {
        return chargeitemId;
    }
    public void setAmt(BigDecimal amt) 
    {
        this.amt = amt;
    }

    public BigDecimal getAmt() 
    {
        return amt;
    }
    public void setPayId(Long payId) 
    {
        this.payId = payId;
    }

    public Long getPayId() 
    {
        return payId;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setChargeUser(String chargeUser) 
    {
        this.chargeUser = chargeUser;
    }

    public String getChargeUser() 
    {
        return chargeUser;
    }
    public void setPayNo(String payNo) 
    {
        this.payNo = payNo;
    }

    public String getPayNo() 
    {
        return payNo;
    }
    public void setPayType(String payType) 
    {
        this.payType = payType;
    }

    public String getPayType() 
    {
        return payType;
    }
    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }
    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }
    public void setRefundUser(String refundUser) 
    {
        this.refundUser = refundUser;
    }

    public String getRefundUser() 
    {
        return refundUser;
    }
    public void setRefundTime(Date refundTime) 
    {
        this.refundTime = refundTime;
    }

    public Date getRefundTime() 
    {
        return refundTime;
    }
    public void setRefundId(Long refundId) 
    {
        this.refundId = refundId;
    }

    public Long getRefundId() 
    {
        return refundId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("shopsId", getShopsId())
            .append("type", getType())
            .append("chargeitemId", getChargeitemId())
            .append("amt", getAmt())
            .append("payId", getPayId())
            .append("payTime", getPayTime())
            .append("chargeUser", getChargeUser())
            .append("payNo", getPayNo())
            .append("payType", getPayType())
            .append("state", getState())
            .append("balance", getBalance())
            .append("refundUser", getRefundUser())
            .append("refundTime", getRefundTime())
            .append("refundId", getRefundId())
            .toString();
    }
}
